Fork me on GitHub

Python miniweb 框架

前言:

  1. web 开发各个节点关系图;
  2. 资源分类;
  3. 路由;
  4. shell 脚本。

miniweb 框架

一、web 开发各个节点关系图

web 开发各个节点关系.png

二、资源分类

1. 静态资源: 不需要经常变化的资源文件:常用的: 图片,css,js,早期html文件
2. 动态资源: 经常需要变化的资源
依据用户的请求方式不同,请求时间不同,产生的数据会发送相应的变化
数据一般来自数据库中的数据
3. 模板资源: 不存储任何用户数据的文件,一个'空文件',也是一个静态资源,但是会结合其他的数据,形成动态资源
比如说从数据库中查询出的数据,再往模板文件中添加,形成动态资源

3.1 替换模板的作用:
模板网页 + 动态数据 = 动态网页
实现步骤:
1. 访问数据库,获取动态数据
2. 读取模板文件
3. 通过正则表达式,把动态数据替换到模板页面中,形成一个新的动态页面
4. 返回新的动态页面内容(响应体)

三、路由

web 开发过程中的路由概念图

web 开发过程中的路由概念.png

1. 请求路径 --> 对应的执行函数

2. 装饰器装饰路由
装饰器工厂 向装饰器传参 @route(xxx)

3. 通过装饰器实现 mini_frame 中的路由器功能

# 准备一个装饰器工厂;通过装饰器的方式自动装配路由列表:[("/index.py", index)]
def route(url): # 装饰器工厂函数
def w1(func): # 装饰器函数
# url ---> /index.py
# func --> index 即执行index()(被装饰函数)函数的地址
print("添加装饰")
g_route_list.append((url,func)) # ("/index.py", index)
def inner():
print("正在执行拓展功能...")
func()
return inner
return w1

@route("/index.py")
# @w1 # 本质上 index = w1(index)
def index():
pass

四、shell 脚本

1. xxx.sh   多个 linux 命令一起执行
设置执行权限
$ chmod 777 xxx.sh

run.sh
sudo python3 Web.py 80

2. readme.txt 使用说明文档
运行步骤:
终端命令:./run.sh
-------------本文结束感谢您的阅读-------------

本文标题:Python miniweb 框架

文章作者:曹永林

发布时间:2018年07月26日 - 09:07

最后更新:2018年07月28日 - 10:07

原始链接:http://jovelin.cn/2018/07/26/Python miniweb 框架/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。